/**
 * 输入: 1->2->3->3->4->4->5 （重复元素是【连续】的）
 * 输出: 1->2->5
 */

// 一个指针
class Solution {
public:
    ListNode* deleteDuplicates(ListNode* head)
    {
        if(!head || !head->next)
            return head;

        ListNode* p = head;

        while(p && p->next) // 比较 p 与 p->next
        {
            if(p->val == p->next->val)
            {
                p->next = p->next->next; // 删除 p->next
            }
            else
            {
                p = p->next; // 后移 p
            }
        }

        return head;
    }
};
